/**
 * Created whit IntelliJ IDEA.
 * Description：
 * User：ZHONGCHEN
 * Date:2022-04-26
 * Time:22:37
 */
public class TestDemo {
    //883. 三维形体投影面积
    public int projectionArea(int[][] grid) {
//        根据题意进行模拟即可，使用三个变量分别统计三视图的阴影面积：
//        ans1：统计俯视图的面积，共有 n * nn∗n 个位置需要被统计，当任意格子 g[i][j] > 0g[i][j]>0，阴影面积加一；
//        ans2：统计左视图的面积，共有 nn 行需要被统计，每一行对 ans2 的贡献为该行的最大高度；
//        ans3：统计主视图的面积，共有 nn 列需要被统计，每一列对 ans3 的贡献为该列的最大高度。

        int ans1 = 0, ans2 = 0, ans3 = 0;
        for (int i = 0; i < grid.length; i++) {
            int a = 0, b = 0;
            for (int j = 0; j < grid[0].length; j++) {
                if (grid[i][j] > 0) {
                    ans1++;
                }
                a = Math.max(a, grid[i][j]);
                b = Math.max(b, grid[j][i]);
            }
            ans2 += a;
            ans3 += b;
        }
        return ans1 + ans2 + ans3;
    }
}
